<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>箭投函数 模板字符串 定时器</title>
</head>
<body>
</body>
</html>
<script>
    //域解析是？
    //1代码执行顺序会将 var function  参数这些东西 提升
    //var 后面的变量赋初始值 为 undefined  
    //如果是一个函数就把函数块拿过来  如果变量跟函数名同名 函数名会把变量替换掉
    //2.从上面倒下 逐行解读代码
        console.log(a)
        var a=1;
        console.log(a)
        //var a unde
        //var a =1

	//let        可以在声明的时候不赋值           声明的变量可以重新赋值      无变量提升
    //const      (常量)在声明时必须赋值           声明的常量一经赋值不可修改  注意如果声明的是一个对象时 可以改变对象的属性值
	//let&const  会被{}限制作用域     
	

// ————>模板字符串
    // es6新增: 模板字符串   `` 繁引号
	// 字符串: '' "" ``
    // 通过模板(${})在字符串拼接变量(表达式 结构)
	// var a = 10;
	// var s = `hello ${a} world`;     //es6
    // var s1 = 'hello '+a+' world';   //es5    //hellow 10 world
    	
    // 模板字符串``反引号
    // 模板字符串输出${}
    // 模板字符串与之前字符串的区别：
    // 1.模板字符串可以换行书写；
    //     var str=`<div>
    //             </div>`
    // 2.模板字符串可以直接在字符串里面拼接变量；
    //     var num=100;
    //     var str=`<div>${num}</div>`
/* 
html    <table>
            <thead>
                <tr><th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                </tr>
                <tbody></tbody>
           </thead>
        </table>

js      const arr = [{name: '小明', age: 10,sex: '男'},{name: '小红',age: 20,sex: '女'},{name: '小兰',age: 30,sex: '女'}]
        var tbody = document.querySelector('tbody')
        arr.forEach(item => {
            var str = `<tr>
                            <td>${item.name}</td>
                            <td>${item.age}</td>
                            <td>${item.sex}</td>
                    </tr>`
            tbody.innerHTML += str
        })	
*/

// ——————>定时器
    //尽量避免使用定时器
	//定时器2种
	//      1（setInterval）多次              循环定时器 
	//      2（setTimeout）一次的             延时定时器
    
    //定时器之中不要出现String，if have 用一个匿名函数即可
	//setInterval(函数, 时间)       Q 多久执行一次（在定时器清空之前一直执行）        循环定时器
    //setTimeout（函数, 时间）    多久后执行一次（在规定的时候后执行一次）       延时定时器
    //setInterval(function (){ 执行的代码 },1000) 


	//函数可以直接在定时器中创建，也可以去调用，调用的时候不能带（）；
    //setInterval(fnname,3000) 
    
	//时间的单位是毫秒 1s=1000ms
	//清除定时器：
	//clearInterval（定时器名）
	//clearTimeout（定时器名）

//	box.style.left = "100px"
	setInterval(function(	) {box.style.left = "100px"}, 200)

// 补充红皮书知识点 21-04-12夜   
   /*js在浏览器中时单线程执行的 准许使用定时器指定在某个时间之后 或每隔一段时间就执行相对应的代码 
     *setTimeout() 用于指定在一段时间后执行某些代码  
     *setInterval()用于指定每隔一段时间 执行某些代码  
   */     

</script>